//2938.区分黑球与白球
//https://leetcode.cn/problems/separate-black-and-white-balls
class Solution {
public:
    long long minimumSteps(string s) {
        //反过来想 要将0移到左边
        //我们只需要统计遍历中遇到的1都个数
        //1会逐渐被推到右边
        //在1后面的0需要经过cnt个1才能到左边的0堆

        long long ret = 0;
        long long cnt = 0;
        int n = s.size();
        for(const char& c:s)
        {
            if(c == '0') ret += cnt; //讲0移动到cnt个1的前面
            else ++cnt; //1的队伍变长了
        }
        return ret;
    }
};